var box = null;
var tab = null;
var th = null;
var add_info = '';
var msg_id = null;
var dt_beg = new Date();
var dt_end = new Date();
dt_beg.addDays(-1);


var tags = new Array(new Array('<font color="red">', '</font>'), new Array('<font color="green">', '</font>'));


$(function(){
	box = $("#contentBox");
	init();
});

var ajaxoptions = {
	type    : 'POST',
	url     : 'ajax.php',
	dataType: 'json',
	success : function(result, status) {
		var s = '';
		s += '<b>ФИЛЬТРЫ КЛИЕНТОВ:</b>\n';
		for(var i = 0; i < result.cli.length; i++)
		{
			var yes = (result.cli[i].re_res == null) ? 0 : 1;
			s += tags[yes][0];
			s += result.cli[i].title + '" -> "' + result.cli[i].re_find + '" -> "'+ result.cli[i].re_res +'"';
			if(result.cli[i].clients)
			{
				for(var j = 0; j < result.cli[i].clients.length; j++)
				{
					s += '\n\tID: ' + result.cli[i].clients[j].ident;
					s += '\n\tPhone: ' + result.cli[i].clients[j].phone;
					s += '\n\tTitle: ' + result.cli[i].clients[j].title;
				}
			}
			else
			{
				if(yes)
					s += '\n\t'+ tags[0][0] +'Клиенты с идентифкатором <b>"'+ result.cli[i].re_res +'"</b> не найдены' + tags[0][1];
			}
			s += tags[yes][1];
			s += '\n';
		}
		s += '\n<b>SMS ШАБЛОНЫ:</b>\n';
		for(var i = 0; i < result.sms.length; i++)
		{
			var yes = (result.sms[i].re_res == null) ? 0 : 1;
			s += tags[yes][0];
			s += result.sms[i].title + '" -> "' + result.sms[i].re_find + '" -> "'+ result.sms[i].re_repl +'" -> "'+ result.sms[i].re_res +'"';
			s += tags[yes][1];
			s += '\n';
		}
		$('#re_'+msg_id, tab).html(s);
	},
	error   : function(xhr, status, error) {
		alert("error: "+ xhr);
	}
}


function init() {

    box.html(
        '<div>Выбрать с:&nbsp;<input type="text" id="dt_beg"/>&nbsp;до:&nbsp;<input type="text" id="dt_end"/>&nbsp;<button id="btnSelect">Выбрать</button></div>' +
		'<table cellpadding="0" cellspacing="0" border="0" class="display" id="tab"></table>' );

    $("#dt_beg").val(dt_beg.toRus());
    $("#dt_end").val(dt_end.toRus());
	
    var dates = $("#dt_beg, #dt_end").datepicker({
        defaultDate: "+1w",
        changeMonth: true,
        numberOfMonths: 3,
        onSelect: function (selectedDate) {
            var option = this.id == "dt_beg" ? "minDate" : "maxDate",
					instance = $(this).data("datepicker"),
					date = $.datepicker.parseDate(
						instance.settings.dateFormat ||
						$.datepicker._defaults.dateFormat,
						selectedDate, instance.settings);
            dates.not(this).datepicker("option", option, date);
        }
    });

	// $("#dt_beg").datePicker("option", "minDate", dt_end.toRus());
	// console.log(dt);
	// var dt = dates.datepicker( "option", "minDate" );
	// console.log(dt);
    // $("#dt_beg").val(dt);
    // $("#dt_beg").val(dt_beg.toRus());
    // $("#dt_end").val(dt_end.toRus());
    
	tab = $('#tab', box);

	tab.dataTable({
	    "sPaginationType": "full_numbers",
	    "bLengthChange": false,
	    "bJQueryUI": false,
	    "bInfo": true,
	    "bFilter": true,
	    "bAutoWidth": false,
	    "iDisplayLength": 25,
	    "bServerSide": false,
	    "sAjaxSource": get_ajax_url(),
	    "aaSorting": [],
	    //"aaSorting": [[0, "desc"]],
	    /*
	    */
	    "aoColumns": [
            { "sTitle": "id", "bVisible": false },
            { "sTitle": "Получено&nbsp;&nbsp;&nbsp;&nbsp;" },
            { "sTitle": "Партнер", "sClass": "nowrap", "sWidth": "300", "bVisible": puper },
            { "sTitle": "Тел.", "sWidth": "100" },
            { "sTitle": "Имя", "bVisible": !puper },
			{ "sTitle": "SMS" },
			{ "sTitle": "Длина" },
			{ "sTitle": "Отправлено" }
        ],
	    "oLanguage": {
	        "oPaginate": {
	            "sNext": "След.",
	            "sFirst": "Первая",
	            "sLast": "Послед.",
	            "sPrevious": "Пред."
	        },
	        "sSearch": "Поиск:",
	        "sZeroRecords": "Ничего не выбрано",
	        "sInfo": "_START_-_END_ из _TOTAL_",
	        "sInfoEmpty": "Показано от 0 до 0 из 0 строк",
	        "sInfoFiltered": "(Доступно _MAX_)"
	    },

	    "fnCreatedRow": function (nRow, aData, iDataIndex) {
	        $('td:eq(3)', nRow).html('<pre class="sms">'+ aData[5] +'</pre>');

	        $(nRow).data('msg_details', false);

	        $(nRow).bind("click", function () {
	            if ($(this).data('msg_details')) {
	                $(nRow).data('msg_details', false);
	                tab.fnClose(nRow);
	            }
	            else {
	                $(nRow).data('msg_details', true);
	                msg_id = aData[0];
	                // var info = get_details(nRow, aData[5]);
					
					var info = 
						'<div><pre id="re_'+ msg_id +'">'+
							'<b>Партнер:</b>\n'+
								'Email адреса: '+ aData[9] +'\n'+
							'\n<b>Клиент:</b>\n'+
								'ID: '+ aData[10] +'\n'+
								'Имя: '+ aData[4] +'\n'+
								'Уведомлять: '+ (aData[11] == "1" ? "Да" : "Нет") +'\n'+
							'\n<b>Шаблон:</b>\n'+
								'Название: '+ aData[12] +'\n'+
								'Поиск клиента: '+ aData[13] +'\n'+
								'Поиск данных: '+ aData[14] +'\n'+
								'Шаблон SMS: '+ aData[15] +'\n'+
							'\n<b>ИСХОДНОЕ ПИСЬМО:</b>\n'+
								aData[8].replace(/</g, '&lt;') +
						'</pre></div>';					
	                tab.fnOpen(nRow, info, 'msg_details');
	            }
	        });
	    },
	    "fnHeaderCallback": function (nHead, aData, iStart, iEnd, aiDisplay) {
	    },
	    "fnDrawCallback": function () {
	        console.log('DataTables has redrawn the table');
	        // addColumn();
	    },
	    "fnInfoCallback": function (oSettings, iStart, iEnd, iMax, iTotal, sPre) {
	        console.log(iStart + " to " + iEnd + " total: " + iTotal);
	    }
	});

	$("#btnSelect").bind("click", function () {
	    console.log("click button");

	    $.ajax({
	        type: "GET",
	        url: get_ajax_url(),
	        dataType: "json",
	        success: function (json) {
	            tab.fnClearTable();
	            tab.fnAddData(json.aaData);
	        }
	    });
	});
}

function get_ajax_url() {
    return "ajax.php?page=msg&cmd=sel&dt_beg=" + dt_uni("#dt_beg") + "&dt_end=" + dt_uni("#dt_end");
}

function dt_uni(input_name) {
    return date_rus2uni($(input_name).val());
}

function compose_row()
{
	
}

function get_details(row, msg)
{
	ajaxoptions.url = 'ajax.php?page=msg&cmd=msg&id='+ msg_id;
	$.ajax(ajaxoptions);	
	
	return '<div>'+
		// '<p>msg_id='+ aData[0] +'</p>'+
		'<pre id="re_'+msg_id+'"></pre>'+
		'<pre><b>ИСХОДНОЕ ПИСЬМО:</b>\n'+ msg +'</pre>'+
		'</div>';
}
